package com.example.function.project.service;

import com.example.common.page.CP_Page;
import com.example.common.page.CP_Sorter;
import com.example.function.project.model.one.ProspectusTemplate;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * Description: <prospectusTemplateservice>. <br>
 * <p>
 * <service接口层>
 * </p>
 * generate time:2021-7-30 16:24:12
 *
 * @author hanqf
 * @version V1.0
 */
public interface IProspectusTemplateService {
/**
	 * 描述 : <ProspectusTemplate列表:查询>. <br>
	 * <p>
	 *
	 * @param prospectusTemplate
	 *
	 * @param sorter
	 *
	 * @param page
	 *
	 * @return List<ProspectusTemplate>
	 */
	public Page<ProspectusTemplate> findByPage(CP_Page page,CP_Sorter sorter,ProspectusTemplate prospectusTemplate,String... fields);

	/**
	 *
	* 描述 : <更新ProspectusTemplate.>. <br>
	*<p>
	* @param prospectusTemplate
	 * @throws Exception
	 */
	public ProspectusTemplate update(ProspectusTemplate prospectusTemplate);

	/**
	 *
	 * 描述 : <新增ProspectusTemplate.>. <br>
	 *<p>
	 * @param prospectusTemplate
	 * @throws Exception
	 */
	public ProspectusTemplate add(ProspectusTemplate prospectusTemplate);


	/**
	 *
	* 描述 : <根据id查询ProspectusTemplate>. <br>
	*<p>
	* @param id
	* @return
	 */
	public ProspectusTemplate findById(java.lang.Long id,String... fields);

	/**
	 *
	* 描述 : <根据id删除ProspectusTemplate>. <br>
	*<p>
	* @param ids
	* @return
	 */
	public void delete(java.lang.Long... ids);


	/**
	 *
	 * 描述 : <查询全部ProspectusTemplate>. <br>
	 *<p>
	 * @return
	 */
	public List<ProspectusTemplate> findAll();


	/**
	 * 下载文件
	 */
	void downLoadFile(Long fileId, HttpServletRequest request, HttpServletResponse response) throws IOException;

	/**
	 * 上传计划书文件
	*/
	int uploadFiles(MultipartFile[] multipartFiles);
}



